package oj;

import java.util.Scanner;

public class Day38F {
    private static char[][] map;
    private static int count;
    private  static int[][] dir=new int[][]{{1,0},{-1,0},{0,1},{0,-1}};
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            int m=sc.nextInt();
            int n=sc.nextInt();
            map=new char[m][n];
            sc.nextLine();
            int sx=0;
            int sy=0;
            for(int i=0;i<m;i++){
                String s=sc.nextLine();
                for(int j=0;j<n;j++){
                    map[i][j]=s.charAt(j);
                    if(map[i][j]=='@'){
                        sx=i;
                        sy=j;
                        map[i][j]='.';
                    }
                }
            }
            dfs(sx,sy);
            System.out.println(count);
        }
    }
    private static void dfs(int x,int y){
        map[x][y]='#';
        ++count;
        for(int i=0;i<4;i++){
            int nx=x+dir[i][0];
            int ny=y+dir[i][1];
            if(nx>=0 && nx<map.length && ny>=0 && ny<map[0].length && map[nx][ny]!='#'){
                dfs(nx,ny);
            }
        }
    }
}